// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

package org.jetbrains.kotlin.idea.navigation;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode;
import org.jetbrains.kotlin.idea.base.test.TestRoot;
import org.jetbrains.kotlin.idea.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.idea.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

/**
 * This class is generated by {@link org.jetbrains.kotlin.testGenerator.generator.TestGenerator}.
 * DO NOT MODIFY MANUALLY.
 */
@SuppressWarnings("all")
@TestRoot("idea/tests")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("testData/navigation/gotoDeclaration")
public class GotoDeclarationTestGenerated extends AbstractGotoDeclarationTest {
    @java.lang.Override
    @org.jetbrains.annotations.NotNull
    public final KotlinPluginMode getPluginMode() {
        return KotlinPluginMode.K1;
    }

    private void runTest(String testDataFilePath) throws Exception {
        KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
    }

    @TestMetadata("annotationCallWithMissedTypeArgs.test")
    public void testAnnotationCallWithMissedTypeArgs() throws Exception {
        runTest("testData/navigation/gotoDeclaration/annotationCallWithMissedTypeArgs.test");
    }

    @TestMetadata("dataClassToString.test")
    public void testDataClassToString() throws Exception {
        runTest("testData/navigation/gotoDeclaration/dataClassToString.test");
    }

    @TestMetadata("flexibleType.test")
    public void testFlexibleType() throws Exception {
        runTest("testData/navigation/gotoDeclaration/flexibleType.test");
    }

    @TestMetadata("importAlias.test")
    public void testImportAlias() throws Exception {
        runTest("testData/navigation/gotoDeclaration/importAlias.test");
    }

    @TestMetadata("itExtensionLambda.test")
    public void testItExtensionLambda() throws Exception {
        runTest("testData/navigation/gotoDeclaration/itExtensionLambda.test");
    }

    @TestMetadata("itExtensionLambdaInBrackets.test")
    public void testItExtensionLambdaInBrackets() throws Exception {
        runTest("testData/navigation/gotoDeclaration/itExtensionLambdaInBrackets.test");
    }

    @TestMetadata("itInLambdaAsDefaultArgument.test")
    public void testItInLambdaAsDefaultArgument() throws Exception {
        runTest("testData/navigation/gotoDeclaration/itInLambdaAsDefaultArgument.test");
    }

    @TestMetadata("itInLambdaWithoutCall.test")
    public void testItInLambdaWithoutCall() throws Exception {
        runTest("testData/navigation/gotoDeclaration/itInLambdaWithoutCall.test");
    }

    @TestMetadata("itParameterInLambda.test")
    public void testItParameterInLambda() throws Exception {
        runTest("testData/navigation/gotoDeclaration/itParameterInLambda.test");
    }

    @TestMetadata("labeledThisToClass.test")
    public void testLabeledThisToClass() throws Exception {
        runTest("testData/navigation/gotoDeclaration/labeledThisToClass.test");
    }

    @TestMetadata("labeledThisToMemberExtension.test")
    public void testLabeledThisToMemberExtension() throws Exception {
        runTest("testData/navigation/gotoDeclaration/labeledThisToMemberExtension.test");
    }

    @TestMetadata("listFlexibleType.test")
    public void testListFlexibleType() throws Exception {
        runTest("testData/navigation/gotoDeclaration/listFlexibleType.test");
    }

    @TestMetadata("thisExtensionFunction.test")
    public void testThisExtensionFunction() throws Exception {
        runTest("testData/navigation/gotoDeclaration/thisExtensionFunction.test");
    }

    @TestMetadata("thisExtensionLambda.test")
    public void testThisExtensionLambda() throws Exception {
        runTest("testData/navigation/gotoDeclaration/thisExtensionLambda.test");
    }

    @TestMetadata("thisInExtensionPropertyAccessor.test")
    public void testThisInExtensionPropertyAccessor() throws Exception {
        runTest("testData/navigation/gotoDeclaration/thisInExtensionPropertyAccessor.test");
    }

    @TestMetadata("valClass.test")
    public void testValClass() throws Exception {
        runTest("testData/navigation/gotoDeclaration/valClass.test");
    }

    @TestMetadata("valGeneric.test")
    public void testValGeneric() throws Exception {
        runTest("testData/navigation/gotoDeclaration/valGeneric.test");
    }
}
